1. Field of the Invention
The present invention generally relates to integration of multiple applications with which a user or any of a plurality of users may interact and, more particularly, to integration of multiple applications at the level of the user interface or visual display.
2. Description of the Prior Art
In today's highly networked data processing environment, digital content is likely to be widely distributed, either geographically or over a plurality of data processors and/or applications or a combination thereof. A typical application not only operates on data which may be captured by or provided for that particular application but typically relies on combining and operating on content from multiple owners and applications; which data is usually geographically distributed and encoded in diverse formats. For example, consider e-commerce applications (e.g. E-Bay™, Amazon™, etc.), virtual sales applications (e.g. residential real estate), or collaborative engineering applications (e.g. mechanical, seismic, military, etc.). In each of these cases, rich content in very diverse formats and owned by multiple parties must be integrated before it can be effectively utilized.
Most content integration approaches currently in use are performed at the data level; requiring data mapping across repositories and, frequently, the extraction, transformation and consolidation of data from multiple repositories. These operations usually engender a lag in the data revision cycle and such operations must usually be repeated whenever the primary data is altered before the new data is available to applications which require it.
Moreover, this approach requires integrating all of the applications that access the different pieces of data content and the provision of user interfaces to multiple users to allow manipulation (e.g. edit, display, create, etc.) of the data in a consistent manner. That is, in such a scenario, for two applications to be integrated, each application must be able to understand, read and write the content of the other application even though the applications generally are developed principally to interact with a user on a visual level. In other words, many diverse types of applications which, when created, may have been optimized for very different functionalities must be made not only compatible but substantially interoperable when they are integrated. Thus the integration has generally been performed at the data level and has required complex and frequent reprocessing of large volumes of data so that all data potentially needed by any application may be made available to it. It follows that, in such an approach to integration, processing power required to limit delays in making altered or newly captured data globally available is very substantial and often greater than the processing power required to support a single application which may be integrated in a system. Large amounts of storage are also required to maintain separate, synchronized (e.g. consistent in content) copies of data in different formats corresponding to respective applications and which requires significant additional processing and communication between applications and processors for management to assure that consistency is maintained between a potentially large number of sets of data.
Nevertheless, all of this complexity, processing and hardware should be substantially transparent to the user at a visual/graphic interface and, in many instances, full integration and sharing of all data among all applications forming a system is not needed in order to support sufficiently flexible and effective user interaction with the system.